by: Safronova Anna (azsafronova)
Какие узлы сети представляются наиболее значимыми (по параметрам betweenness и degree)? Как в сети распределяются связи в зависимости от различных характеристик (колонок) датасета?
Для начала, рассчитаем betweenness (оценка вершины на близость по посредничеству, показатель того, насколько важен данный узел как “мост”) и degree (число (входящих и выходящих) связей с другими вершинами) исходной сети.
Теперь мы хотим посмотреть на распределение связей внутри различных категорий комиксов (т.е. по столбцам датасета books_net_info). Однако, если осуществлять эту операцию с целой сетью, то никаких практических выводов из визуализации мы сделать не сможем. Поэтому разобъем сеть на сообщества с помощью наиболее подходящего метода (узнаем это благодаря параметру модулярности), а затем построим сеть для какого-то конкретного сообщества.
Какие сообщества можно выделить в исходной сети? Какие алгоритмы выделения сообществ подходят лучше всего?
| Алгоритм | Модулярность | Число_сообществ |
|---|---|---|
| Multilevel | 0.7080933 | 30 |
| Infomap | 0.7033038 | 47 |
| Edge Betweenness | 0.6984699 | 66 |
| Walktrap | 0.6982890 | 41 |
| Fastgreedy | 0.6571612 | 28 |
Как мы видим, лучший алгоритм для анализа - это Multilevel. Рассмотрим выявленные им сообщества:
Посмотрим поподробнее на структуру сообществ, выделенных методом Multilevel:
Мы видим распределение узлов в сообществах. 9ая по счету группа комиксов включает в себя всего 26 точек, это значит, что ее нетрудно будет визуализировать. Но что покажет нам визуализация? По какому признаку выделено сообщество? Попробуем ответить на эти вопросы с помощью ассортативности.
| Категории | Ассортативность |
|---|---|
| publisher | 0.4902307 |
| average_rating | 0.3571474 |
| authors.0.author_id | 0.2992721 |
| authors.1.author_id | 0.1618921 |
| ratings_count | -0.0022270 |
Наибольшей ассортативностью обладает категория ‘publisher’. Поскольку сеть построена на основе оценок пользователей, большая ассортативность переменной означает наличие зависимости между ней и оценками. Выходит, издание наиболее вероятно (в отличие от остальных категорий) может влиять на оценку комикса пользователями.
Проверим на всякий случай значение p-value с помощью теста перестановок, чтобы убедиться в том, что полученный результат применим к данным и не случаен.
| p_value |
|---|
| 0 |
Отразим в таблице только те ‘book_id’, что входят в 9ое сообщество.
Построим теперь сеть, основанную только на получившихся ‘book_id’, а далее визуализируем связи внутри нее - так мы получим распределение взаимодействий между 26ю комиксами, все из которых относятся к изданию ‘Image Comics’.
Выявим “наиболее значимые” (по параметрам betweenness и degree) вершины в новой сети и сравним такие их характеристики, как: (1.1) “popular_shelves.0.name”, “popular_shelves.1.name”, “popular_shelves.2.name”, “popular_shelves.3.name”, (1.2) “average_rating”, (1.3) “publication_year”.
1.1) К каким категориям полок комиксов относятся “наиболее значимые” узлы отфильтрованной сети? (Построим отельный график для каждой из характеристик: “popular_shelves.0.name”, “popular_shelves.1.name”, “popular_shelves.2.name”, “popular_shelves.3.name”)
В этом и всех последующих графиках размер вершин сделаем эквивалентным значению “degree/6” (то есть, чем больше вершина, тем больше количество ее связей). Прозрачность будет равна значению "3*betweenness" (чем менее прозрачна точка, тем она более важна как “мост”).
Исходя из характеристики “popular_shelves.0.name”, “наиболее значимые” вершины относятся к категории “to-read” (id: 23000709, 27474528, 30027126 и многие другие) и “graphic-novel” (id: 25337337).
Исходя из характеристики “popular_shelves.1.name”, “наиболее значимые” вершины относятся к категориям “graphic-novel” (id: 23000709, 27474528, 30027126 и многие другие) и “comics” (id: 25337337 и многие другие).
Исходя из характеристики “popular_shelves.2.name”, “наиболее значимые” вершины относятся к категориям “comics” (id: 23000709, 27474528, 30027126 и многие другие), “graphic-novel” (id: 25337337 и многие другие).
Исходя из характеристики “popular_shelves.3.name”, “наиболее значимые” вершины относятся к категориям “horror” (id: 2300709, 27474528, 30027126 и многие другие), “graphic_novel” (id: 25337337 и многие другие), а также “comics”.
1.2) К каким категориям рейтинга комиксов относятся “наиболее значимые” узлы отфильтрованной сети?
На графе преобладают комиксы с оценкой 4.2 и выше. Три знакомых нам вершины принадлежат к категории “GOOD” (id: 23000709, 25337337, 30027126 и многие другие), одна - к категории “AVERAGE” (id: 27474528 и многие другие).
Заметим, что количество отзывов на комиксы в исходном датасете разное, отчего некоторые оценки становятся невалидными. Нарисуем график с учетом этого.
Мы приняли количество отзывов, меньшее среднего, незначительным для анализа (обозначив на графике, как “non-considerable rates”). Все id, которые мы выделяли ранее, относятся к категории отзывов, имеющих значение для анализа.
1.3) К каким категориям года выпуска комиксов относятся “наиболее значимые” узлы отфильтрованной сети?
Все “наиболее значимые” вершины относятся к категориям новых комиксов (id: 23000709, 25337337, 30027126, 27474528 и многие другие). Старые комиксы вовсе не представлены на графике.
Исходная сеть comics_net состоит из 777 наблюдений, betweenness и degree которых несложно найти (и с помощью них определить наиболее значимые для сети вершины - см. табл.№1). Однако такое количество узлов абсолютно не подходит для наглядной визуализации - невозможно построить какой-либо информативный график по всем комиксам сразу.
Поэтому с помощью метода Multilevel я разделяю сеть на сообщества, а далее - рассматриваю немногочисленную группу комиксов под номером 9. Что это за группа? По какому признаку она выделена? На данные вопросы можно ответить с помощью параметра ассортативности, который показал, что наиболее вероятно на формирование в сети сообществ влияет характеристика ‘publisher’ (т.е. издатель). Проверяем данную характеристику в 9ой группе и выясняем, что все комиксы сообщества относятся к изданию Image Comics. (Данная деталь в принципе не имеет смысла для анализа и просто является интересной характеристикой группы.)
Определив остальные характеристики сообщества (см. табл.№4) мы отфильтровываем исходную сеть так, чтобы она включала в себя только книги из сообщества 9. При этом некоторые связи разрываются, а параметры degree, betweenness и другие меры центральности изменяются. Однако сохраняются узлы группы и связи внутри нее - именно это мне и было интересно изучить.
Построив графики с учетом мер центральности, я увидела распределение связей в группе по различным характеристикам. А также узнала, что в полученной сети наиболее значимыми (обладающими максимальными среди остальных значениями мер betweenness и degree) являются комиксы со следующими id: 23000709, 25337337, 30027126, 27474528.